/**
 * 
 */
package ar.com.mun.executable;

import ar.com.mun.dataGenerators.ExpedienteAnnotationDataGenerator;
import ar.com.mun.dataGenerators.MotivoAnnotationDataGenerator;
import ar.com.mun.dataGenerators.MunicipalidadAnnotationDataGenerator;
import ar.com.mun.dataGenerators.SEMCUserAnnotationDataGenerator;

import com.angel.architecture.io.dataGenerators.ConfigurationParameterAnnotationDataGenerator;
import com.angel.architecture.io.dataGenerators.ParameterAreaAnnotationDataGenerator;
import com.angel.common.interfaces.Executable;
import com.angel.data.generator.base.DataGeneratorRunner;
import com.angel.data.generator.builders.impl.DataGeneratorAnnotationRunnerBuilder;

/**
 * @author Guillermo Salazar
 * @since 27/Agosto/2009.
 *
 */
public class DataGeneratorExecutable implements Executable {

	/* (non-Javadoc)
	 * @see com.angel.common.interfaces.Executable#execute()
	 */
	public void execute() {
		DataGeneratorAnnotationRunnerBuilder builder = new DataGeneratorAnnotationRunnerBuilder();
		builder.addDataGeneratorClass(ExpedienteAnnotationDataGenerator.class);
		builder.addDataGeneratorClass(MunicipalidadAnnotationDataGenerator.class);
		builder.addDataGeneratorClass(MotivoAnnotationDataGenerator.class);
		builder.addDataGeneratorClass(SEMCUserAnnotationDataGenerator.class);
		builder.addDataGeneratorClass(ConfigurationParameterAnnotationDataGenerator.class);
		builder.addDataGeneratorClass(ParameterAreaAnnotationDataGenerator.class);
		DataGeneratorRunner runner = builder.buildDataGeneratorRunner();
		runner.generateData();
		runner.finalizeGenerator();

	}

}
